草庐IT

c++ - g++ 包括 boost 库

全部标签

c++ - 了解将使用哪个 swprintf(或者再次将 char* 字符串转换为 wchar_t*)

我正在尝试将char*字符串转换为wchar_t*。我看到这个问题已经被问了很多次,但没有解决/可移植的答案/解决方案。按照建议here,swprintf对我来说似乎是正确的解决方案,但我发现那里存在两个版本!!即:http://www.cplusplus.com/reference/cwchar/swprintf/(第二个参数是字符串容量)http://msdn.microsoft.com/en-us/library/ybk95axf%28v=vs.71%29.aspx(第二个参数已经是格式字符串)我的程序看起来像这样:constunsignedintLOCAL_SIZE=256;c

c++ - 在 Windows 上使用 WaitForSingleObject 但支持 boost 线程中断

Boost线程具有“可中断”的便利特性。该框架在您sleep等时引入了中断点。但是,使用阻塞Win32调用可以规避此功能。例如,WaitForSingleObject会阻塞一个线程,但不会让它被boost线程的中断机制打断。有什么方法可以包装WaitForSingleObject或告诉boost等待Win32事件句柄,以便我可以重新获得中断点? 最佳答案 detail::win32::interruptible_wait实现了这一点。如您所见,它等待3个句柄(除了调用者指定的句柄之外还有2个)以接受中断。具体看WaitForMult

windows - 删除行(包括空行)

这个问题在这里已经有了答案:Batchfiletodeletefirst3linesofatextfile(5个答案)关闭6年前。您好,我正在尝试使用批处理文件从多个.txt文件的顶部删除前3行。第一行和第二行包含文本,第三行是空白。我正在尝试找到一种方法来根据行号删除行。e.gLine1ABCDLine2EFGLine3Line4coolthisworksLine5lineoftextLine6lineoftextLine7Line8lineoftext我已经使用了下面有效的代码,但是,我必须将变量作为“关键字”,并且我想使用行号作为变量。此外,由于某种原因,光标总是在每个“new.

c++ - Boost.Asio SSL 上下文 load_verify_paths 未加载证书

我有代码为当前用户检索Windows证书存储中的所有根证书:#include#includeinlinestd::vectorsystem_root_certificates(){std::vectorcerts;HCERTSTOREhStore;PCCERT_CONTEXTpCertContext=NULL;if(!(hStore=::CertOpenStore(CERT_STORE_PROV_SYSTEM_A,0,NULL,CERT_SYSTEM_STORE_CURRENT_USER,"Root")))returncerts;do{if(pCertContext=::CertFin

c++ - WPD API - 无法从设备传输内容(包括 SSCCE)

我需要枚举MTPandroid设备的内容并将文件从设备传输到WindowsPC。按照此处找到的指南TransferringContentfromaDevicetoaPC我试图将一个简单的文本文档传输到指定目录。但是,输出文件始终为空,即使返回值表明已写入X字节数也是如此。我仅使用推荐的WindowsAPI调用创建了一个SSCCE,以便轻松重现该问题。我使用了API文档和officialsampleproject供引用。main.cppQtprojectfile为了测试,我有一部通过MTP连接的安卓手机,根目录下有一个名为testFolder的文件夹,里面有一个文件testfile.tx

c++ - boost::进程间共享内存

我的环境是Windows2008/2012C++VS2013。我希望STL映射在热重启后持续存在。使用boost:interprocess是一种解决方案,其中重新启动的应用程序是服务器端对map进行更新,而另一个客户端应用程序将连接到同一个共享内存段,以使其在服务器应用程序崩溃时保持“事件状态”/出于任何原因重新启动? 最佳答案 是的,你可以做到这一点。您可以使用interprocess::shared_ptr来获取您建议的引用计数。请记住,映射内存并非神奇的事务性,因此如果出现硬故障,则可能会出现损坏。如果您需要稳健的状态持久性,

windows - boost::random_device 的非 Linux 实现

目前,Boost只为Linux(也许是*nix)系统实现了random_device类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。如果不存在,我应该如何为Windows和MacOSX实现非确定性RNG?提供此功能的任一环境中是否存在API调用?谢谢(很抱歉提出所有问题)! 最佳答案 在MacOSX上,您可以使用/dev/random(因为它是*​​nix)。在Windows上,您可能需要CryptGenRandom函数。我不知道是否有使用它的boost::random_device的实现。

mfc - MFC 中的可折叠控件(包括示例)

在WindowsXP控制面板中,您可以在左侧看到一个漂亮的可折叠面板控件:(来源:leeindy.com)这些不仅是可折叠的,而且是动画的。我想知道这些是否是开发人员可以访问的任何类型的控件,特别是在MFC中?或者它们是自定义/定制功能? 最佳答案 如果您有带有MFC功能包的VisualStudio2008,请查看CMFCTasksPane类(class)。该功能包包括一个演示如何使用它的TaskPane示例应用程序。 关于mfc-MFC中的可折叠控件(包括示例),我们在StackOve

windows - Boost spirit : assertion fails under Windows but not Linux. 为什么?

[用完整的程序和版本更新替换代码]下面的代码在Windows下失败并显示以下消息(抱歉手动翻译自法语,我不知道如何强制VisualC++以英语工作)。这是在Windows下。它在Linux下工作。你可以编译Linux:gccLimaTokenizerParser.cpp-oLimaTokenizerPars-lboost_system-mt-lstdc++Windows(失败):clLimaTokenizerParser.cpp/Ic:\boost\path\include/EHsc我在Windows和Boost1.48下使用Boost1.50和VisualC++2010和Linux下

c++ - 开发-C++/TDM-GCC : Linkage Problems with Boost Libaries Downloaded from boost. 组织

我正在尝试在Dev-C++(tdm-gcc4.7.1)中使用regex。我已经从boost.org下载了Boost库并解压到C:\ProgramFiles(x86)\Dev-Cpp\boost并在Dev-C++中添加C:\ProgramFiles(x86)\Dev-Cpp\boost\libs去图书馆。包含路径(C/C++):C:\ProgramFiles(x86)\Dev-Cpp\boostmain.cpp:#includeusingnamespaceboost;intmain(){strings("sometxtPING:665454some_text");smatchmt;reg